﻿// 5065. 排序去重.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <set>
#include <vector>
#include <algorithm>

using namespace std;
/*
https://www.acwing.com/problem/content/5068/


给定一个长度为 n的数组，请你先将其进行升序排序并输出，然后对排序后的数组去重后再次输出。

输入格式
第一行包含整数 n。

第二行包含 n个整数，表示给定数组。

输出格式
第一行输出排序后的数组。

第二行输出排序并去重后的数组。

数据范围
1≤n≤105
,
数组内元素取值范围 [1,109]。

输入样例：
6
3 2 3 6 5 6
输出样例：
2 3 3 5 6 6
2 3 5 6
*/

set<int> ss;
vector<int> v;

int main()
{
	int n;
	cin >> n;
	for (int i = 0; i < n; i++) {
		int t; cin >> t;
		ss.insert(t);
		v.push_back(t);
	}

	sort(v.begin(), v.end());

	for (auto& e : v) {
		cout << e << " ";
	}
	cout << endl;

	for (auto& e : ss) {
		cout << e << " ";
	}
	cout << endl;

	return 0;
}

 